The present invention relates to digital filters and more particularly to a digital filter which will efficiently process one or more input data streams to generate one or more output data streams on a real time basis so as to be useful in low latency dynamic control systems.
In active vibration and noise control systems it is desirable to control one or more output actuators as a complex function of input signals provided by one or more input sensors. The input signals are typically sampled at preselected equal time intervals, converted to digital form, and then processed by a digital signal processor which provides a preselected transfer function. To be useful in active vibration or sound control, the transfer function must be generated essentially in real time. Typically, the transfer function implemented is a finite impulse response (FIR) filter or an infinite impulse response (IIR) filter and such filters may be characterized by a number of tap weights. As the number of input and output channels increases, however, the amount of computation required increases precipitously and it has heretofore been impractical to implement such multiple input multiple output (MIMO) filters in real time. Even in the case of a single input single output (SISO) filter, the cost of implementing such a filter in real time may be prohibitively large when the number of tap weights is large.
As is understood by those skilled in the art the digital implementation of a filter typically involves calculating the contribution of each of a series of input samples, reaching back for a predetermined time interval, to a current output value. The contributions are typically calculated by multiplying each such sample by a corresponding coefficient. The contributions are then summed. In the context of the present invention, real time filtering is understood to be a generation of an output value in a time essentially comparable to the input sample interval. In other words, the latency of the filter should be of essentially the same order of magnitude as the preselected time-interval between signal samples. In the case of an IIR filter, contributions to current output values are also taken from previous output values as is understood by those skilled in the art.
There are several known techniques for reducing the total number of computations needed to perform transformations of the type required for FIR and IIR filtering but, in these previously known techniques, contributions from a batch of input samples to a batch of output values are calculated simultaneously. While these techniques increase the computational efficiency and reduce the total number of calculations needed for the entire batch, the number of calculations required for each batch is typically much too large to be performed in a single sample interval. A further difficulty is that the entire batch of input samples must arrive before the batch can be processed. Thus, these known techniques necessarily impose a high latency or delay between the earliest input sample and the generation of an output value which draws a contribution from that input sample. Accordingly, these techniques have not been heretofore utilized in real time control systems of the types employed in active vibration and noise control.
Among the objects of the present invention may be noted the provision of a SISO or MIMO digital filter which will operate in real time; the provision of such a filter which is useful in control systems in which one or more actuators are each operated as a function of input samples obtained from one or more sensors; the provision of such a filter which can implement a finite impulse response or an infinite impulse response characteristic; the provision of such a filter which implements an efficient use of computational power; the provision of such a filter which is highly reliable and which is of relatively simple and inexpensive construction. Other objects and features will be in part apparent and in part pointed out hereinafter.